// 导入网络请求包
import {
	$http
} from "@escook/request-miniprogram";
// 提示信息组件
import {
	showNotify
} from 'vant';
// 导入pinia
import {
	useUserStore
} from "../store/users.js";

uni.$http = $http;

// 请求拦截器
$http.beforeRequest = function(config) {
	const userStore = useUserStore();
	// 取出token
	let token = userStore.token;
	// 判断是否有token
	if (token) {
		// 请求头加入token
		config.header["Authorization"] = token;
	}
	uni.showLoading({
		title: "数据加载中...",
	});
}

// 封装一个数据请求的方法
uni.$showMsg = function(title = "数据请求失败", duration = 1500) {
	uni.showToast({
		title,
		duration,
		icon: "none"
	})
}

// 封装一个数据请求失败的方法
// uni.$showMsg = (status, message, duration = 1500) => {
// 	if (status == 200) {
// 		showNotify({
// 			color: '#6CBF51',
// 			background: "#DBEFE4",
// 			type: 'success',
// 			message: message,
// 			position: 'center',
// 			duration: duration,
// 		});
// 	} else if (status == 400) {
// 		showNotify({
// 			color: '#D68893',
// 			background: "#FEEEF0",
// 			type: 'danger',
// 			message: message,
// 			position: 'center',
// 			duration: duration,
// 		});
// 	}
// }

// 响应拦截器
$http.afterRequest = function() {
	uni.hideLoading();
}

// 导出数据
export default uni.$http;